package com.ybc.并发;

public class Resource {

    // 私有构造器，防止外部实例化
    private Resource() {
        // 初始化资源的代码
        System.out.println("Resource 初始化");
    }

    // 静态内部类，持有Resource实例  类加载时才会加载 所以是懒加载
    private static class ResourceHolder {
        private static final Resource resource = new Resource();
    }

    // 提供全局访问点，第一次调用时初始化ResourceHolder类
    public static Resource getInstance() {
        return ResourceHolder.resource;
    }

    // 其他业务方法示例
    public void doSomething() {
        System.out.println("Resource 正在执行任务");
    }

    // 测试代码
    public static void main(String[] args) {
        Resource r1 = Resource.getInstance();
        Resource r2 = Resource.getInstance();
        System.out.println("r1 == r2? " + (r1 == r2));
        r1.doSomething();
    }
}
